package cn.yunyichina.provider.iface.service;

import cn.yunyichina.provider.iface.entity.alipay.*;
import cn.yunyichina.provider.iface.entity.common.ResCommon;
import cn.yunyichina.provider.iface.entity.dto.pay.*;
import cn.yunyichina.provider.iface.entity.pay.alipay.MedicareResponse;
import cn.yunyichina.provider.iface.entity.pay.alipay.MedicareVo;

public interface IAlipay extends IService {

    ResCommon<MedicareResponse> queryAlipayFacepayMedicare(MedicareVo medicareVo) throws Exception;

    ResCommon<AlipayFacepayMedicalCardQueryResponse> queryAlipayFacepayMedicare(AlipayFacepayMedicalCardQueryRequest queryRequest) throws Exception;

    ResCommon<Object> queryAlipayWebpayMedicare(AlipayWebpayMedicalCardQueryRequest queryRequest) throws Exception;

    AddAlipayCouponResponse addAlipayCouponInstance(AlipayRequest alipayRequest);

    ResCommon<AlipayBarPayResponseDTO> alipayBarPay(AlipayBarPayRequestDTO requestDTO);

    ResCommon<AlipayOrderQueryResponseDTO> queryAlipayOrder(AlipayOrderQueryRequestDTO requestDTO);

    ResCommon<AlipayOrderCancelResponseDTO> cancelAlipayOrder(AlipayOrderCancelRequestDTO requestDTO);

    ResCommon<AlipayBillDownloadResponseDTO> downloadAlipayBill(AlipayBillDownloadRequestDTO requestDTO);

    ResCommon<AlipayResponse> sendCardMessage(AlipayRequest alipayRequest);

    ResCommon<AlipayMedInfoUploadResponseDTO> alipayMedInfoUpload(AlipayRequest alipayRequest);

}
